CSS @extendã«ãŒã«ã®å æ¬çã¬ã€ããå¹ççã§ä¿å®æ§ã®é«ãã¹ã¿ã€ã«ã·ãŒãã®ããã®æ§æãå©ç¹ãæ¬ ç¹ããã¹ããã©ã¯ãã£ã¹ã解説ããŸãã
CSS @extendã«ãŒã«ïŒã¹ã¿ã€ã«ã®ç¶æ¿ãšæ¡åŒµãã¿ãŒã³ããã¹ã¿ãŒãã
CSSã®@extendã«ãŒã«ã¯ãã³ãŒãã®åå©çšãä¿é²ããã¹ã¿ã€ã«ã·ãŒãã®äžè²«æ§ãç¶æããããã®åŒ·åãªããŒã«ã§ããSassãLessã®ãããªCSSããªããã»ããµãšé¢é£ä»ããããããšãå€ãã§ããããã®æ ¹åºã«ããååãçè§£ããããšã¯ã䜿çšããããŒã«ã«é¢ããããå¹ççã§ä¿å®æ§ã®é«ãCSSãæžãäžã§éåžžã«éèŠã§ãããã®å
æ¬çãªã¬ã€ãã§ã¯ã@extendã«ãŒã«ã®æ§æãå©ç¹ãæ¬ ç¹ããããŠãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠè©³ãã解説ããŸãã
CSS @extendã«ãŒã«ãšã¯äœãïŒ
@extendã«ãŒã«ã䜿çšãããšãããCSSã»ã¬ã¯ã¿ã®ã¹ã¿ã€ã«ãå¥ã®ã»ã¬ã¯ã¿å
ã§ç¶æ¿ã§ããŸããæ¬è³ªçã«ã¯ããã©ãŠã¶ã«å¯ŸããŠãã»ã¬ã¯ã¿Aã«å®çŸ©ããããã¹ãŠã®ã¹ã¿ã€ã«ããã»ã¬ã¯ã¿Bã«ãé©çšããŠãã ããããšæç€ºããæ¹æ³ã§ããããã«ãããCSSå
ã®åé·æ§ã倧å¹
ã«åæžãããããžã§ã¯ãå
šäœã®ã¹ã¿ã€ã«ã®æŽæ°ã容æã«ããããšãã§ããŸãã
ãã€ãã£ãã®CSSã«ã¯@extendã«çŽæ¥çžåœãããã®ã¯ãããŸããããSassãLessã®ãããªããªããã»ããµããã®æ©èœãæäŸããæšæºçãªCSSã«ãã©ã³ã¹ãã€ã«ããŸããããããã¹ã¿ã€ã«ã®ç¶æ¿ãšæ¡åŒµã®æŠå¿µã¯ãç¹å®ã®@extendå®è£
ã«é ŒããªããŠããåªããCSSã¢ãŒããã¯ãã£ã®åºæ¬ãšãªããŸãã
æ§æãšåºæ¬çãªäœ¿ãæ¹
@extendã«ãŒã«ã®æ£ç¢ºãªæ§æã¯ã䜿çšããŠããCSSããªããã»ããµã«ãã£ãŠè¥å¹²ç°ãªããŸããããããåºæ¬çãªååã¯åãã§ãã
Sassã®æ§æ
Sassã§ã¯ã@extendã«ãŒã«ã¯æ¬¡ã®ããã«äœ¿çšãããŸãã
.message {
padding: 10px;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.success-message {
@extend .message;
color: green;
}
.error-message {
@extend .message;
color: red;
}
ãã®äŸã§ã¯ã.success-messageãš.error-messageã¯.messageã«å®çŸ©ããããã¹ãŠã®ã¹ã¿ã€ã«ãç¶æ¿ãããã®åŸã§ããããç¬èªã®ã¹ã¿ã€ã«ïŒcolor: green;ãšcolor: red;ïŒãé©çšããŸãã
Lessã®æ§æ
Lessã§ã¯ã@extendã«ãŒã«ã¯åæ§ã«äœ¿çšãããŸãã
.message {
padding: 10px;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.success-message {
&:extend(.message);
color: green;
}
.error-message {
&:extend(.message);
color: red;
}
Lessã®&:extend(.message)ãšããæ§æã«æ³šæããŠãã ããã&ã¯çŸåšã®ã»ã¬ã¯ã¿ãåç
§ããŸãã
ã³ã³ãã€ã«åŸã®CSSåºå
ããªããã»ããµãäžèšã®ã³ãŒãïŒããã§ã¯Sassã®äŸã瀺ããŸãïŒãã³ã³ãã€ã«ãããšãçµæã®CSSã¯æ¬¡ã®ããã«ãªããŸãã
.message, .success-message, .error-message {
padding: 10px;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.success-message {
color: green;
}
.error-message {
color: red;
}
ããªããã»ããµã.messageãæ¡åŒµããŠããã»ã¬ã¯ã¿ãåäžã®CSSã«ãŒã«ã«ãŸãšããŠããç¹ã«æ³šç®ããŠãã ãããããã@extendã®äž»èŠãªå©ç¹ã®äžã€ã§ããåºåãããCSSããããã£ã®éè€ãé¿ããããšãã§ããŸãã
@extendã䜿çšããå©ç¹
- ã³ãŒãã®éè€åæžïŒ
@extendã®æå€§ã®å©ç¹ã¯ãç¹°ãè¿ãæžãããCSSã³ãŒãã®éãæžããããšã§ããããã«ãããã¹ã¿ã€ã«ã·ãŒããå°ãããªããèªã¿ããããä¿å®ãããããªããŸãã - ä¿å®æ§ã®åäžïŒ å
±éã®ã¹ã¿ã€ã«ã倿Žããå¿
èŠãããå Žåãäžç®æã§å€æŽããã ãã§æžã¿ãŸãããã®ã¹ã¿ã€ã«ãæ¡åŒµããŠãããã¹ãŠã®ã»ã¬ã¯ã¿ã«å€æŽãèªåçã«åæ ãããŸããå€§èŠæš¡ãªeã³ããŒã¹ãµã€ãã§ãã¿ã³ã®ã¹ã¿ã€ã«ãæŽæ°ããå Žé¢ãæ³åããŠã¿ãŠãã ããã
@extendã¯ãã®ããã»ã¹ãå€§å¹ ã«ç°¡çŽ åã§ããŸãã - äžè²«æ§ã®åŒ·åïŒ
@extendã¯ããããžã§ã¯ãå šäœã§ã¹ã¿ã€ã«ã®äžè²«æ§ã確ä¿ããã®ã«åœ¹ç«ã¡ãŸããããã¯ç¹ã«ãè€æ°ã®éçºè ãé¢ããå€§èŠæš¡ãªãããžã§ã¯ãã§éèŠã§ãã - ã»ãã³ãã£ãã¯ãªé¢ä¿æ§ïŒ
@extendã䜿çšããããšã§ããã¶ã€ã³å ã®ç°ãªãèŠçŽ éã®é¢ä¿ãæç¢ºã«ããããšãã§ããŸããããèŠçŽ ãå¥ã®èŠçŽ ã®ããªãšãŒã·ã§ã³ãŸãã¯æ¡åŒµã§ããããšãæç€ºçã«ç€ºããŸãã
æœåšçãªæ¬ ç¹ãšèæ ®äºé
@extendã«ã¯ããã€ãã®å©ç¹ããããŸããããã®æœåšçãªæ¬ ç¹ãèªèããæ
éã«äœ¿çšããããšãäžå¯æ¬ ã§ãã
- 詳现床ã®å¢å ïŒ
@extendã¯ãç¹ã«è€éãªã»ã¬ã¯ã¿éå±€ãæ±ãå Žåã«ãäºæããªã詳现床ã®åé¡ãåŒãèµ·ããããšããããŸãã@extendã䜿çšããéã«ã¯ãCSSã®è©³çŽ°åºŠãçè§£ããããšãäžå¯æ¬ ã§ãã - ã³ã³ãã€ã«åŸã®CSSãµã€ãºïŒ
@extendã¯ãœãŒã¹ãã¡ã€ã«å ã®ã³ãŒãã®éè€ãæžãããŸãããç¹ã«å€ãã®ã»ã¬ã¯ã¿ãåãåºæ¬ã¹ã¿ã€ã«ãæ¡åŒµããŠããå Žåãã³ã³ãã€ã«åŸã®CSSãã¡ã€ã«ã倧ãããªãããšããããŸãããã¡ã€ã«ãµã€ãºãšããŒãžã®èªã¿èŸŒã¿æéãžã®å šäœçãªåœ±é¿ãèæ ®ããŠãã ããã - ä¿å®æ§ã®èª²é¡ïŒ
@extendãé床ã«äœ¿çšããããäžé©åã«äœ¿çšããããããšãã¹ã¿ã€ã«ã·ãŒããçè§£ãã«ãããä¿å®ãã«ãããªãå¯èœæ§ããããŸããæŠç¥çã«äœ¿çšããã³ãŒããæç¢ºã«ææžåããããšãéèŠã§ãã - 詳现床æŠäºïŒ ãã§ã«éåžžã«è©³çŽ°åºŠã®é«ãã¯ã©ã¹ïŒäŸïŒ
#header .nav li a.activeïŒãæ¡åŒµãããšãçµæãšããŠåŸãããã»ã¬ã¯ã¿ãäžå¿ èŠã«è€éã«ãªããäžæžããå°é£ã«ãªãå¯èœæ§ããããŸããããã«ãããç®çã®ã¹ã¿ã€ãªã³ã°ãå®çŸããããã ãã«ãããã«è©³çŽ°åºŠã®é«ãã»ã¬ã¯ã¿ã远å ããªããã°ãªããªãã詳现床æŠäºãã«ã€ãªããå¯èœæ§ããããŸãã
@extendã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
@extendã®å©ç¹ãæå€§éã«æŽ»çšãããã®æœåšçãªæ¬ ç¹ãæå°éã«æããããã«ã以äžã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠãã ããã
1. ã»ãã³ãã£ãã¯ãªé¢ä¿æ§ã®ããã«@extendã䜿çšãã
@extendã¯ãäž»ã«ã»ã¬ã¯ã¿éã«æç¢ºãªã»ãã³ãã£ãã¯ãªé¢ä¿ãããå Žåã«äœ¿çšããŸããäŸãã°ãç°ãªããã¿ã³ã®ããªãšãŒã·ã§ã³ïŒäŸïŒãã©ã€ããªãã¿ã³ãã»ã«ã³ããªãã¿ã³ïŒã®ããã«åºæ¬ã®ãã¿ã³ã¹ã¿ã€ã«ãæ¡åŒµããã®ã¯çã«ããªã£ãŠããŸããã³ãŒãã®åå©çšã®ããã ãã«@extendã䜿çšããã®ã¯é¿ããè«ççãªé¢é£æ§ããªãå Žåã¯ã代ããã«ïŒåŸè¿°ããïŒããã¯ã¹ã€ã³ã®äœ¿çšãæ€èšããŠãã ããã
2. åå«ã»ã¬ã¯ã¿ã®æ¡åŒµãé¿ãã
åå«ã»ã¬ã¯ã¿ïŒäŸïŒ.container .itemïŒãæ¡åŒµãããšãé床ã«è©³çްã§å£ããããCSSã«ãªãå¯èœæ§ããããŸããäžè¬çã«ã¯ãåºæ¬ã¯ã©ã¹ãçŽæ¥æ¡åŒµããæ¹ãè¯ãã§ãã
3. è©³çŽ°åºŠã«æ³šæãã
æ¡åŒµããã»ã¬ã¯ã¿ã®è©³çŽ°åºŠã«çްå¿ã®æ³šæãæã£ãŠãã ããã絶察ã«å¿ èŠãªå Žåãé€ãã詳现床ã®é«ãã»ã¬ã¯ã¿ãæ¡åŒµããããšã¯é¿ããŠãã ãããäžå¿ èŠã«è©³çŽ°åºŠãäžããã«å ±æã¹ã¿ã€ã«ã管çããããã«ãïŒåŸè¿°ããïŒãŠãŒãã£ãªãã£ã¯ã©ã¹ã®äœ¿çšãæ€èšããŠãã ããã
4. ã³ãŒããææžåãã
CSSã®ã³ã¡ã³ãã§@extendã®äœ¿çšæ³ãæç¢ºã«ææžåããŠãã ãããã»ã¬ã¯ã¿éã®é¢ä¿ãš@extendã䜿çšããæ ¹æ ã説æããŸããããã«ãããä»ã®éçºè
ãããªãã®ã³ãŒããçè§£ããæå³ããªã倿Žãå ããã®ãé²ãããšãã§ããŸãã
5. 培åºçã«ãã¹ããã
@extendãå«ãCSSã«å€æŽãå ããåŸã¯ããŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ã培åºçã«ãã¹ãããã¹ã¿ã€ã«ãæ£ããé©çšãããäºæããªãå¯äœçšããªãããšã確èªããŠãã ããã
6. ãã¬ãŒã¹ãã«ããŒã»ã¬ã¯ã¿ã®äœ¿çšãæ€èšããïŒSassã®ã¿ïŒ
Sassã«ã¯ããã¬ãŒã¹ãã«ããŒã»ã¬ã¯ã¿ïŒäŸïŒ%messageïŒãšããæ©èœããããŸãããããã¯ç¹å¥ãªã»ã¬ã¯ã¿ã§ãæ¡åŒµãããå Žåã«ã®ã¿ã³ã³ãã€ã«åŸã®CSSã«å«ãŸããŸããããã¯ãå®éã«å¿
èŠãªå Žåã«ã®ã¿å«ãããåºæ¬ã¹ã¿ã€ã«ãå®çŸ©ããã®ã«åœ¹ç«ã¡ãŸãããã¬ãŒã¹ãã«ããŒã»ã¬ã¯ã¿ã¯ãäžèŠãªCSSã«ãŒã«ãçæãããã®ãé²ãã®ã«åœ¹ç«ã¡ãŸãããããã¯ãããïŒ.ïŒãããã·ã¥ïŒ#ïŒã®ä»£ããã«ããŒã»ã³ãèšå·ïŒ%ïŒã§å®£èšãããŸãã
%message {
padding: 10px;
border: 1px solid #ccc;
background-color: #f9f9f9;
}
.success-message {
@extend %message;
color: green;
}
.error-message {
@extend %message;
color: red;
}
7. @extendã§ã®ãã¹ããå¶éãã
æ·±ããã¹ããããã«ãŒã«å
ã§ã»ã¬ã¯ã¿ãæ¡åŒµãããšãCSSãèªã¿ã«ããããããã°ãå°é£ã«ãªãå¯èœæ§ããããŸããå¯èœã§ããã°ã@extendã«ãŒã«ã®ãã¹ããé¿ãããããã¹ãã¬ãã«ãæžããããã«CSSããªãã¡ã¯ã¿ãªã³ã°ããããšãæ€èšããŠãã ããã
8. ãã©ãŠã¶ã®ãµããŒãã«æ³šæãã
@extendæ©èœã¯CSSããªããã»ããµã«ãã£ãŠæäŸãããŸãããã³ã³ãã€ã«ãããCSSã¯æšæºçãªCSSã§ããããã¹ãŠã®ã¢ãã³ãã©ãŠã¶ã§ãµããŒããããŠããŸããããããå€ããã©ãŠã¶ã§äœæ¥ããŠããå Žåã¯ãã¹ã¿ã€ã«ãæ£ãã衚瀺ãããããã«ããªãã£ã«ããã©ãŒã«ããã¯ã䜿çšããå¿
èŠããããããããŸããã
@extendã®ä»£æ¿æ¡
@extendã¯äŸ¿å©ãªããŒã«ã§ãããåžžã«æåã®è§£æ±ºçãšã¯éããŸããã以äžã«æ€èšãã¹ãä»£æ¿æ¡ãããã€ã瀺ããŸãã
1. ããã¯ã¹ã€ã³
ããã¯ã¹ã€ã³ã¯ãè€æ°ã®ã»ã¬ã¯ã¿ã«å«ããããšãã§ããåå©çšå¯èœãªCSSã³ãŒãã®ãããã¯ã§ããããã°ã©ãã³ã°èšèªã®é¢æ°ã«äŒŒãŠããŸããããã¯ã¹ã€ã³ã¯ãè€æ°ã®ã»ã¬ã¯ã¿ã«äžé£ã®ã¹ã¿ã€ã«ãå«ããå¿
èŠããããããããã®éã«æç¢ºãªã»ãã³ãã£ãã¯ãªé¢ä¿ããªãå Žåã«ã@extendã®è¯ãä»£æ¿æ¡ãšãªããŸãã
以äžã¯Sassã§ã®ããã¯ã¹ã€ã³ã®äŸã§ãã
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
border-radius: $radius;
}
.button {
@include border-radius(5px);
}
.card {
@include border-radius(10px);
}
2. ãŠãŒãã£ãªãã£ã¯ã©ã¹
ãŠãŒãã£ãªãã£ã¯ã©ã¹ã¯ãèŠçŽ ã«ç¹å®ã®ã¹ã¿ã€ã«ãé©çšããããã«äœ¿çšã§ãããå°ããåäžç®çã®CSSã¯ã©ã¹ã§ããã¹ããŒã·ã³ã°ãã¿ã€ãã°ã©ãã£ããã®ä»ã®å
±éã¹ã¿ã€ã«ã管çããããã«ãã䜿çšãããŸãããŠãŒãã£ãªãã£ã¯ã©ã¹ã¯ãè€æ°ã®èŠçŽ ã«ã¹ã¿ã€ã«ãé©çšããå¿
èŠããããããããã®éã«ã»ãã³ãã£ãã¯ãªé¢ä¿ãäœããããªãå Žåã«ã@extendã®è¯ãä»£æ¿æ¡ãšãªããŸãã
ãŠãŒãã£ãªãã£ã¯ã©ã¹ã®äŸãšããŠã¯ã.margin-top-10ã.padding-20ã.text-centerãªã©ããããŸããTailwind CSSã®ãããªãã¬ãŒã ã¯ãŒã¯ã¯ããŠãŒãã£ãªãã£ã¯ã©ã¹ãå€çšããŠããŸãã
3. ãªããžã§ã¯ãæåCSSïŒOOCSSïŒ
ãªããžã§ã¯ãæåCSSïŒOOCSSïŒã¯ãæ§é ãšã¹ãã³ã®åé¢ãéèŠããCSSã¢ãŒããã¯ãã£ã®æ¹æ³è«ã§ããè€éãªã¬ã€ã¢ãŠãããã¶ã€ã³ãäœæããããã«çµã¿åãããããšãã§ãããåå©çšå¯èœãªCSSãªããžã§ã¯ãã®äœæã奚å±ããŸããOOCSSã¯ãéåžžã«ã¢ãžã¥ãŒã«åãããä¿å®æ§ã®é«ãCSSã³ãŒãããŒã¹ãäœæããå¿
èŠãããå Žåã«ã@extendã®è¯ãä»£æ¿æ¡ãšãªããŸãã
OOCSSã®2ã€ã®äžå¿çãªååã¯æ¬¡ã®ãšããã§ãã
- æ§é ãšã¹ãã³ã®åé¢ïŒ æ§é ã¯èŠçŽ ã®ãµã€ãºãäœçœ®ããã®ä»ã®æ§é çãªããããã£ãå®çŸ©ããŸããã¹ãã³ã¯èŠçŽ ã®è²ããã©ã³ããå¢çç·ãªã©ã®èŠèŠçãªå€èгãå®çŸ©ããŸãã
- ã³ã³ãããšã³ã³ãã³ãã®åé¢ïŒ ã³ã³ããã¯èŠªã³ã³ããå ã§ã®èŠçŽ ã®ã¬ã€ã¢ãŠããšé 眮ãå®çŸ©ããŸããã³ã³ãã³ãã¯èŠçŽ ã®ç¹å®ã®ã³ã³ãã³ããšã¹ã¿ã€ãªã³ã°ãå®çŸ©ããŸãã
4. Block, Element, Modifier (BEM)
BEMã¯ãCSSãããã¢ãžã¥ãŒã«åããä¿å®ããããããããã®CSSã¯ã©ã¹ã®åœåèŠåãšæ¹æ³è«ã§ããBEMã¯Block, Element, Modifierã®ç¥ã§ããBEMã¯ãéåžžã«æŽçãããã¹ã±ãŒã©ãã«ãªCSSã³ãŒãããŒã¹ãäœæããå¿
èŠãããå Žåã«ã@extendã®è¯ãä»£æ¿æ¡ãšãªããŸãã
- BlockïŒãããã¯ïŒïŒ ããèªäœã§æå³ãæã€ç¬ç«ãããšã³ãã£ãã£ïŒäŸïŒ
.buttonïŒã - ElementïŒãšã¬ã¡ã³ãïŒïŒ ãããã¯ã®äžéšã§ãããåç¬ã§ã¯æå³ãæããããã®ãããã¯ã«æå³çã«çµã³ã€ããŠãããã®ïŒäŸïŒ
.button__textïŒã - ModifierïŒã¢ãã£ãã¡ã€ã¢ïŒïŒ ãããã¯ããšã¬ã¡ã³ãã®å€èŠ³ãæ¯ãèãã倿Žãããã©ã°ïŒäŸïŒ
.button--primaryïŒã
å®äŸ
@extendã广çã«äœ¿çšã§ããããã€ãã®å®äŸãèŠãŠã¿ãŸãããã
1. ãã¿ã³ã¹ã¿ã€ã«
åè¿°ã®éãã@extendã¯ãã¿ã³ã¹ã¿ã€ã«ã®ç®¡çã«æé©ã§ããåºæ¬ã®ãã¿ã³ã¹ã¿ã€ã«ãå®çŸ©ãããããç°ãªããã¿ã³ã®ããªãšãŒã·ã§ã³ã«æ¡åŒµããããšãã§ããŸãã
.button {
display: inline-block;
padding: 10px 20px;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
}
.button--primary {
@extend .button;
background-color: #007bff;
color: #fff;
}
.button--secondary {
@extend .button;
background-color: #6c757d;
color: #fff;
}
2. ãã©ãŒã èŠçŽ
@extendã䜿çšããŠãã©ãŒã èŠçŽ ã®ã¹ã¿ã€ã«ã管çã§ããŸãã
.form-control {
display: block;
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;
}
.form-control--error {
@extend .form-control;
border-color: red;
}
3. ã¢ã©ãŒãã¡ãã»ãŒãž
ã¢ã©ãŒãã¡ãã»ãŒãžã@extendã®åªããé©çšäŸã§ãã
.alert {
padding: 15px;
border: 1px solid transparent;
border-radius: 5px;
}
.alert--success {
@extend .alert;
background-color: #d4edda;
border-color: #c3e6cb;
color: #155724;
}
.alert--danger {
@extend .alert;
background-color: #f8d7da;
border-color: #f5c6cb;
color: #721c24;
}
ã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ãªãããžã§ã¯ãã§@extendã䜿çšããéã¯ã以äžã®ç¹ãèæ
®ããŠãã ããã
- ããŒã«ãªãŒãŒã·ã§ã³ïŒ ã¹ã¿ã€ã«ãç°ãªãèšèªãæåã»ããã«ãã£ãŠã©ã®ããã«åœ±é¿ãåãããã«æ³šæããŠãã ãããCSSãç°ãªãããã¹ãã®é·ããã¬ã€ã¢ãŠãã«å¯Ÿå¿ã§ããæè»æ§ãæã£ãŠããããšã確èªããŠãã ãããäŸãã°ããã¿ã³ã®ããã¹ãã¯èšèªã«ãã£ãŠèããé·ããªãããšããããŸãã
- ã¢ã¯ã»ã·ããªãã£ïŒ
@extendã®äœ¿çšãã¢ã¯ã»ã·ããªãã£ã«æªåœ±é¿ãäžããªãããã«ããŠãã ãããäŸãã°ãã¹ã¯ãªãŒã³ãªãŒããŒã«ãšã£ãŠäžå¯æ¬ ãªã³ã³ãã³ããCSSã§é衚瀺ã«ããããšã¯é¿ããŠãã ããã - ããã©ãŒãã³ã¹ïŒ ããŸããŸãªãã©ãŠã¶ãããã€ã¹ã§CSSã®ããã©ãŒãã³ã¹ããã¹ãããŠãã ãããããŒãžã®ã¬ã³ããªã³ã°ãé ãããå¯èœæ§ã®ãããé床ã«è€éãªã»ã¬ã¯ã¿ãã¹ã¿ã€ã«ã®äœ¿çšã¯é¿ããŠãã ããã
- ãã¶ã€ã³ã·ã¹ãã ïŒ å€§èŠæš¡ãªã°ããŒãã«ãããžã§ã¯ãã«åãçµãã§ããå Žåã¯ããã¹ãŠã®è£œåãšãã©ãããã©ãŒã ã§äžè²«æ§ã確ä¿ããããã«ãã¶ã€ã³ã·ã¹ãã ã®äœ¿çšãæ€èšããŠãã ããã
@extendã¯ãCSSã§ãã¶ã€ã³ã·ã¹ãã ãå®è£ ããããã®è²ŽéãªããŒã«ãšãªãåŸãŸãã - RTLãµããŒãïŒ å³ããå·ŠãžèªãèšèªïŒRTLïŒåãã«æ§ç¯ããå Žåãã¹ã¿ã€ã«ãæ£ããé©å¿ããããšã確èªããŠãã ãããå¯èœã§ããã°ã`margin-left`ã`margin-right`ã®ä»£ããã«ã`margin-inline-start`ã`margin-inline-end`ã®ãããªè«çããããã£ã®äœ¿çšãæ€èšããŠãã ããã
çµè«
CSSã®@extendã«ãŒã«ã¯ãå¹ççã§ä¿å®æ§ã®é«ãCSSãæžãããã®åŒ·åãªããŒã«ã§ãããã®æ§æãå©ç¹ãæ¬ ç¹ãçè§£ããããšã§ãã³ãŒãã®éè€ãæžãããä¿å®æ§ãåäžãããã¹ã¿ã€ã«ã·ãŒãã®äžè²«æ§ãé«ããããã«å¹æçã«äœ¿çšããããšãã§ããŸãããã ãã@extendãæ
éã«äœ¿çšãããã®æœåšçãªèœãšãç©Žã«æ³šæããããšãéèŠã§ããé©åãªå Žåã«ã¯ãããã¯ã¹ã€ã³ããŠãŒãã£ãªãã£ã¯ã©ã¹ãOOCSSãªã©ã®ä»£æ¿ã¢ãããŒããæ€èšããŠãã ããããã®ã¬ã€ãã§æŠèª¬ãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ã@extendã«ãŒã«ããã¹ã¿ãŒãããšã¬ã¬ã³ãã§å¹æçãªCSSãæžãããšãã§ããŸããã³ãŒãã培åºçã«ãã¹ããã@extendã®äœ¿çšæ³ãææžåããŠãCSSãé·æã«ããã£ãŠçè§£ãããããä¿å®ãããããã®ã§ããããšã確èªããããšãå¿ããªãã§ãã ããã